使用 xpath 选择元素 | 您所在的位置:网站首页 › xpath 选择最后一个 › 使用 xpath 选择元素 |
前面学习了 CSS 选择元素的方法,用起来十分灵活。 但有时候使用 xpath 更加方便,爬虫 Scrapy 和 Appium APP 自动化都支持 Xpath 元素选择。 学习的时候可以参考这个简单的页面:https://git-jhy.github.io/snake,右键检查,在 Elements 中 Ctrl+F 可以搜索元素 1. 路径绝对路径 / 可以表示根节点,也可以用在标签后表示直接子节点的关系,类似 CSS 中的 > 如 /html 和 /html/body/div,后者等价于 html>body>html,通过 xpath 查找元素方法如下: elements = driver.find_elements_by_xpath("/html/body/div")相对路径 使用 // 表示相对路径,它表示从当前节点向后查找元素,不管出现在什么位置: elements = driver.find_elements_by_xpath("//div//li")它等价于 CSS 选择器 div li 同理,//div/li 等价于 div > li 通配符 使用 * 选择所有元素,如: elements = driver.find_elements_by_xpath("//div/ul/li") for element in elements: print(element.get_attribute('outerHTML')) 2. 属性选择语法格式: [@attributeName='attributeValue']ID 属性 选择 ID 为 fruits 的元素: //*[@id='fruits']class 属性 选择 class 为 green 的元素 //*[@class='green']选择 class 为 like tomato 的元素(所有 class 都要列写出来) //*[@class='like tomato']contains 选择 class 包含 tomato 属性的元素 //*[contains(@class, 'tomato')]选择 style 包含 color 字符串的元素 //*[contains(@style, 'color')]选择 style 属性值以 color 开头的元素(结束使用 ends-with) //*[starts-with(@style, 'color')] 3. 次序选择第 k 个子元素 选择满足条件的第二个子元素: //div[@id='fruits']//ul//li[2]此时在 页面 选中的是第二个水果 倒数第 k 个子元素 选择最后一个、倒数第 2 个 li 标签: //li[last()] //li[last()-1]范围选择 选择前 3 个 li 元素 //li[position() |
CopyRight 2018-2019 实验室设备网 版权所有 |